CuttingEdge.Conditions reference library |
AlternativeExceptionCondition..::.Requires<(Of <(T>)>) Method (T, String) |
AlternativeExceptionCondition Class Example See Also Send Feedback |
Returns a new ConditionValidator that allows you to
validate the preconditions of the given argument.
Namespace:
CuttingEdge.Conditions
Assembly:
CuttingEdge.Conditions (in CuttingEdge.Conditions.dll)
Syntax
Visual Basic (Declaration) |
---|
Public MustOverride Function Requires(Of T) ( _ value As T, _ argumentName As String _ ) As ConditionValidator(Of T) |
C# |
---|
public abstract ConditionValidator<T> Requires<T>( T value, string argumentName ) |
Visual C++ |
---|
public: generic<typename T> virtual ConditionValidator<T>^ Requires( T value, String^ argumentName ) abstract |
JavaScript |
---|
JavaScript does not support generic types or methods. |
Parameters
- value
- Type: T
The value of the argument to validate.
- argumentName
- Type: System..::.String
The name of the argument to validate
Type Parameters
- T
- The type of the argument to validate.
Return Value
A new ConditionValidator containing the value and argumentName.Examples
The following example shows how to use the Requires extension method.
See the ConditionValidator<(Of <(T>)>) class for more code examples.
Copy Code | |
---|---|
using CuttingEdge.Conditions; public class Point { private readonly int x; private readonly int y; public Point(int x, int y) { // Throws an InvalidOperationException when x is less than 0 Condition.WithExceptionOnFailure<InvalidOperationException>() .Requires(x, "x").IsGreaterOrEqual(0); // Throws an InvalidOperationException when y is less than 0 Condition.WithExceptionOnFailure<InvalidOperationException>() .Requires(y, "y").IsGreaterOrEqual(0); this.x = x; this.y = y; } public int X { get { return this.x; } } public int Y { get { return this.y; } } } |